function verifPass(pass1,pass2,result)
{
    if(pass1 != pass2)
    {
        $("#"+result).html("Match failed");
        $("#"+result).addClass("error");
        $("#"+result).removeClass("success"); 
    }
    else
    {
        $("#"+result).html("Match ok");
        $("#"+result).addClass("success");
        $("#"+result).removeClass("error");
    }
}
function verifLength(pass,result)
{
    if(pass.length > 5 && pass.length < 16)
    {
        $("#"+result).html("Length OK");
        $("#"+result).addClass("success");
        $("#"+result).removeClass("error");
    }
    else
    {
        $("#"+result).html("Length Fail");
        $("#"+result).addClass("error");
        $("#"+result).removeClass("success");
    }
}
function clearNewEntreprise()
{
    $("#NewEntreprise").show();
    $("#OldEntreprise").hide();
    $("#searchHelp").hide();
    $("#IdEntreprise").val(0);
    $("#searchEntreprise").show();
    $("#searchPreEntreprise").val( 0 ).attr('selected',true);
}

// objet ajax qui contiendra toutes nos fonctions ajax
var ajax = {
    getEntrepriseById: function(id)
    {
        if(id && id != 0)
        {
            $.get("./index.php",
                  {m: "ajaxGetEntrepriseById", id: id},
                  function(data)
                  {
                    if(data["error"] == 0)
                    {
                        
                        $("#NewEntreprise").hide();
                        $("#OldEntreprise").show();
                        $("#searchEntreprise").hide();
                        $("#searchHelp").show();
                        $("#nom").html(data["nom"]);
                        $("#IdEntreprise").val(data["id"]);
                        $("#add1").html(data["adresse"]);
                        $("#add2").html(data["adresse2"]);
                        $("#cp").html(data["cp"]);
                        $("#ville").html(data["ville"]);
                        $("#pays").html(data["pays"]);
                        $("#tel").html(data["tel"]);
                        $("#url").html(data["site"]);

                    }
                    else
                    {
                        $("#NewEntreprise").show();
                        $("#OldEntreprise").hide();
                        $("#searchHelp").hide();
                        $("#IdEntreprise").val(0);
                    }
                  },
                  "json"
              );
        }
        else
        {

        }
    },
    getFromByIdOffre: function(id)
    {
        if(id && id != 0)
        {
             $.ajax({
                type: "POST",
                async: false,
                url: "./index.php?m=ajaxGetFormOffrePortail",
                data: {id : id},
                success: function(data){
                    
                        var bin = eval('(' + data + ')');
                        //var bin  = $.parseJSON(data);
                        //alert(bin.offre.titre);
                        
                        // ON PRE-REMPLI LE FORMULAIRE

                        // fix pour le problème d'encodage
                        var sParsed = $("<div>").html(bin.offre.titre).text();
                        $("input[name$='IG[NomStage]']").val(sParsed);

                        sParsed = $("<div>").html(bin.offre.description).text();
                        $("textarea[name$='IG[Description]']").val(sParsed);
                        
                        $("select[name$='IG[Domaine]']").val(bin.offre.domaine);

                        $("#nom").html(bin.entreprise.nom);
                        $("#IdEntreprise").val(bin.entreprise.id);
                        $("#add1").html(bin.entreprise.add1);
                        $("#add2").html(bin.entreprise.add2);
                        $("#cp").html(bin.entreprise.cp);
                        $("#ville").html(bin.entreprise.ville);
                        $("#pays").html(bin.entreprise.pays);
                        $("#tel").html(bin.entreprise.tel);
                        $("#url").html(bin.entreprise.site);

                        $("#idOffrePortail").val(id);
                        $("#specify_id").hide();
                        $("#form_offre").show();
                    }
            });
        }
        else
        {

        }
    },
    setSignatureConvention: function(id, signataire)
    {
        if(id && id != 0 && signataire && signataire != "")
        {
            $.ajax({
                type: "GET",
                async: false,
                url: "./index.php?m=ajaxsetSignatureConvention",
                data: {id: id, signataire: signataire}
            });
        }
    },
//    getEntreprise : function ()
//    {
//       $.get("./index.php?m=ajaxGetEntreprises",
//       {id : id},
//       function(data){
//           $("#selectEntreprise").empty();
//           $(data).each(function(){
//               $("#selectEntreprise").append("option value='"+this.id+"'>"+this.nom+"</option>");
//           });
//       }
//    },
    
    getContactsByIdEntreprise : function(id)
    {
        if(id && id != 0)
        {
             $.get("./index.php?m=ajaxGetContactEntrepriseByEntreprise",
                {id : id},
                function(data){
                    $("#selectContactEntreprise").empty();
                    $(data).each(function(){
                        $("#selectContactEntreprise").append("<option value='"+this.id+"'>"+this.nom+"</option>");
                    });
                },
                "json"
             );
        }
    },
    getOffres : function ()
    {

        var search_options = serializePost($("#filtreOffre"));

        var top = $("#header");
        $.scrollTo(top, 200);
       

        $("#listOffres").hide();
        $("#loadingOffre").show();
        $("#moreResult").hide();
        $("#filtreOffre").animate({opacity: 0.5},100);
        setTimeout(function(){
            $.post("./index.php?m=ajaxGetOffres",
                {"Values":search_options},
                function(data)
                {
                    data = trim(data);
                    if(data.match(/^FAIL/))
                    {
                        var t = data.substring(4);
                        $("#listOffres").append(t);
                        $("#moreResult").hide();
                    }
                    else
                    {
                        $("#moreResult").show();
                        $("#listOffres").append(data);
                        var i = $("#pageResult").val();
                        $("#pageResult").val(parseInt(i)+1);

                        var nbrResult = $("#listOffres .post").length;
                        if($("#maxResult").val() <= nbrResult)
                        {
                            $("#moreResult").hide();
                        }
                        var last = $(".firstimport").last();
                        $.scrollTo(last, 200);
                    }
                }
            );

            $("#loadingOffre").hide();
            $("#listOffres").show();
            $("#filtreOffre").animate({opacity: 1},100);
            $("#filtreOffre input").removeAttr("disabled");
            
        },1000);
        

    },
    setRequiredDocument: function(id, idRequireddocument){
        if(id && id != 0 && idRequireddocument && idRequireddocument != 0)
        {
            $.get("./index.php?m=ajaxsetRequiredDocument",
                {id: id, idRequireddocument: idRequireddocument}
            );
        }
    }
};
function serializePost(form) {
    var data = {};
    form = $(form).serializeArray();
    for (var i = form.length; i--;) {
        var name = form[i].name;
        var value = form[i].value;
        var index = name.indexOf('[]');
        if (index > -1) {
            name = name.substring(0, index);
            if (!(name in data)) {
                data[name] = [];
            }
            data[name].push(value);
        }
        else
            data[name] = value;
    }
    return data;
}

function trim (myString)
{
    return myString.replace(/^\s+/g,'').replace(/\s+$/g,'')
} 
function debugJS() {

	/**
	 *	tabulation
	 */
	this.tabul			= '    ';

	/**
	 * fonctions
	 */
	this.dumpJS			= dumpJS;


	/**
	 *	@desc	decompose rÃ©cursivement un element
	 *	@param	mixed	elt		element a decomposer
	 *	@param	int		max		nombre maxi de recurances
	 *	@param	string	S_tab	suivi des tabulations
	 *	@param	int		rec		suivi de reccuression
	 */
	function dumpJS(elt, max, S_tab, rec) {
		if (max == undefined) {
			max = 2;

		}
		rec++;
		var S_result	= '';
		if (elt == 'undefined') {
			return "undefined";

		}
		switch (typeof elt) {
			case 'object' :
				S_result	+= "object {\n";
				if (rec < max) {
					for (myI in elt) {
						try {
							S_result += S_tab + this.tabul + '[' + myI + '] => '
							S_result += this.dumpJS(elt[myI], max, S_tab + this.tabul, rec);

						} catch (e) {
							S_result += S_tab + this.tabul + '[' + myI + '] => ' + "** ERROR **\n";

						}

					}

				} else {
					S_result += S_tab + this.tabul + "** MAX RECURSION **\n";

				}
				S_result	+= S_tab + "}\n";
				break;

			case 'string' :
				S_result	+= typeof elt + ' "' + elt + "\"\n";
				break;

			default :
				S_result	+= typeof elt + '(' + elt + ")\n";
				break;

		}
		return S_result;

	}

}

___O_debugJS	= new debugJS();
/**
 *	@desc	decompose rÃ©cursivement un element et affiche une alerte
 *	@param	mixed	elt		element a decomposer
 *	@param	int		max		nombre maxi de recurances
 */
function alert_r(elt, max) {
	alert(___O_debugJS.dumpJS(elt, max, "", 0));

}

/**
 *	@desc	decompose rÃ©cursivement un element et affiche dans le body
 *	@param	mixed	elt		element a decomposer
 *	@param	int		max		nombre maxi de recurances
 */
function document_r(elt, max) {
	document.write('<pre>');
	document.write(___O_debugJS.dumpJS(elt, max, "", 0));
	document.write('</pre>');

}


/**
 *	@desc	decompose rÃ©cursivement un element et affiche une nouvelle fenetre
 *	@param	mixed	elt		element a decomposer
 *	@param	int		max		nombre maxi de recurances
 */
function window_r(elt, max) {
	win = window.open('', 'format','width=400,height=300,left=50,top=50,status,menubar,scrollbars,resizable');
	win.document.write('<pre>' + ___O_debugJS.dumpJS(elt, max, "", 0) + '</pre>');
	win.focus();

}